# Spanish message translation file for plpython
#
# Copyright (c) 2009-2019, PostgreSQL Global Development Group
# This file is distributed under the same license as the PostgreSQL package.
#
# Emanuel Calvo Franco <postgres.arg@gmail.com>, 2009.
# Alvaro Herrera <alvherre@alvh.no-ip.org>, 2009-2012
#
msgid ""
msgstr ""
"Project-Id-Version: plpython (PostgreSQL) 12\n"
"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
"POT-Creation-Date: 2020-09-13 10:38+0000\n"
"PO-Revision-Date: 2019-06-06 17:26-0400\n"
"Last-Translator: Carlos Chapi <carlos.chapi@2ndquadrant.com>\n"
"Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@lists.postgresql.org>\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Poedit 2.0.2\n"

#: plpy_cursorobject.c:72
#, c-format
msgid "plpy.cursor expected a query or a plan"
msgstr "plpy.cursor espera una consulta o un plan"

#: plpy_cursorobject.c:155
#, c-format
msgid "plpy.cursor takes a sequence as its second argument"
msgstr "plpy.cursor lleva una secuencia como segundo argumento"

#: plpy_cursorobject.c:171 plpy_spi.c:207
#, c-format
msgid "could not execute plan"
msgstr "no se pudo ejecutar el plan"

#: plpy_cursorobject.c:174 plpy_spi.c:210
#, c-format
msgid "Expected sequence of %d argument, got %d: %s"
msgid_plural "Expected sequence of %d arguments, got %d: %s"
msgstr[0] "Se esperaba una secuencia de %d argumento, se obtuvo %d: %s"
msgstr[1] "Se esperaba una secuencia de %d argumentos, se obtuvo %d: %s"

#: plpy_cursorobject.c:321
#, c-format
msgid "iterating a closed cursor"
msgstr "iterando un cursor cerrado"

#: plpy_cursorobject.c:329 plpy_cursorobject.c:395
#, c-format
msgid "iterating a cursor in an aborted subtransaction"
msgstr "iterando un cursor en una subtransacción abortada"

#: plpy_cursorobject.c:387
#, c-format
msgid "fetch from a closed cursor"
msgstr "haciendo «fetch» en un cursor cerrado"

#: plpy_cursorobject.c:430 plpy_spi.c:403
#, c-format
msgid "query result has too many rows to fit in a Python list"
msgstr "el resultado de la consulta tiene demasiados registros y no entran en una lista de Python"

#: plpy_cursorobject.c:482
#, c-format
msgid "closing a cursor in an aborted subtransaction"
msgstr "cerrando un cursor en una subtransacción abortada"

#: plpy_elog.c:125 plpy_elog.c:126 plpy_plpymodule.c:549
#, c-format
msgid "%s"
msgstr "%s"

#: plpy_exec.c:139
#, c-format
msgid "unsupported set function return mode"
msgstr "modo de retorno de conjunto de función no soportado"

#: plpy_exec.c:140
#, c-format
msgid "PL/Python set-returning functions only support returning one value per call."
msgstr "Las funciones PL/Python que retornan conjuntos sólo permiten retornar un valor por invocación."

#: plpy_exec.c:153
#, c-format
msgid "returned object cannot be iterated"
msgstr "objeto retornado no puede ser iterado"

#: plpy_exec.c:154
#, c-format
msgid "PL/Python set-returning functions must return an iterable object."
msgstr "Los funciones PL/Python que retornan conjuntos deben retornar un objeto iterable."

#: plpy_exec.c:168
#, c-format
msgid "error fetching next item from iterator"
msgstr "error extrayendo el próximo elemento del iterador"

#: plpy_exec.c:211
#, c-format
msgid "PL/Python procedure did not return None"
msgstr "procedimiento PL/Python no returnó None"

#: plpy_exec.c:215
#, c-format
msgid "PL/Python function with return type \"void\" did not return None"
msgstr "función PL/Python con tipo de retorno «void» no retorna None"

#: plpy_exec.c:371 plpy_exec.c:397
#, c-format
msgid "unexpected return value from trigger procedure"
msgstr "valor de retorno no esperado desde el procedimiento disparador"

#: plpy_exec.c:372
#, c-format
msgid "Expected None or a string."
msgstr "Se esperaba None o una cadena."

#: plpy_exec.c:387
#, c-format
msgid "PL/Python trigger function returned \"MODIFY\" in a DELETE trigger -- ignored"
msgstr "función de disparador de PL/Python retorno «MODIFY» en un disparador de tipo DELETE -- ignorado"

#: plpy_exec.c:398
#, c-format
msgid "Expected None, \"OK\", \"SKIP\", or \"MODIFY\"."
msgstr "Se esperaba None, «OK», «SKIP» o «MODIFY»."

#: plpy_exec.c:443
#, c-format
msgid "PyList_SetItem() failed, while setting up arguments"
msgstr "PyList_SetItem() falló, mientras se inicializaban los argumentos"

#: plpy_exec.c:447
#, c-format
msgid "PyDict_SetItemString() failed, while setting up arguments"
msgstr "PyDict_SetItemString() falló, mientras se inicializaban los argumentos"

#: plpy_exec.c:459
#, c-format
msgid "function returning record called in context that cannot accept type record"
msgstr "se llamó una función que retorna un registro en un contexto que no puede aceptarlo"

#: plpy_exec.c:676
#, c-format
msgid "while creating return value"
msgstr "mientras se creaba el valor de retorno"

#: plpy_exec.c:910
#, c-format
msgid "TD[\"new\"] deleted, cannot modify row"
msgstr "TD[\"new\"] borrado, no se puede modicar el registro"

#: plpy_exec.c:915
#, c-format
msgid "TD[\"new\"] is not a dictionary"
msgstr "TD[\"new\"] no es un diccionario"

#: plpy_exec.c:942
#, c-format
msgid "TD[\"new\"] dictionary key at ordinal position %d is not a string"
msgstr "el nombre del atributo de TD[\"new\"] en la posición %d no es una cadena"

#: plpy_exec.c:949
#, c-format
msgid "key \"%s\" found in TD[\"new\"] does not exist as a column in the triggering row"
msgstr "la llave «%s» en TD[\"new\"] no existe como columna en la fila disparadora"

#: plpy_exec.c:954
#, c-format
msgid "cannot set system attribute \"%s\""
msgstr "no se puede definir el atributo de sistema «%s»"

#: plpy_exec.c:959
#, c-format
msgid "cannot set generated column \"%s\""
msgstr "no se puede definir el atributo generado «%s»"

#: plpy_exec.c:1017
#, c-format
msgid "while modifying trigger row"
msgstr "mientras se modificaba la fila de disparador"

# FIXME not very happy with this
#: plpy_exec.c:1075
#, c-format
msgid "forcibly aborting a subtransaction that has not been exited"
msgstr "abortando una subtransacción que no se ha cerrado"

#: plpy_main.c:121
#, c-format
msgid "multiple Python libraries are present in session"
msgstr "hay múltiples librerías de Python presentes en esta sesión"

#: plpy_main.c:122
#, c-format
msgid "Only one Python major version can be used in one session."
msgstr "Sólo se puede usar una versión mayor de Python en cada sesión."

#: plpy_main.c:138
#, c-format
msgid "untrapped error in initialization"
msgstr "error no capturado en la inicialización"

#: plpy_main.c:161
#, c-format
msgid "could not import \"__main__\" module"
msgstr "no se pudo importar el módulo «__main__»"

#: plpy_main.c:170
#, c-format
msgid "could not initialize globals"
msgstr "no se pudo inicializar las globales"

#: plpy_main.c:393
#, c-format
msgid "PL/Python procedure \"%s\""
msgstr "procedimiento PL/Python «%s»"

#: plpy_main.c:396
#, c-format
msgid "PL/Python function \"%s\""
msgstr "función PL/Python «%s»"

#: plpy_main.c:404
#, c-format
msgid "PL/Python anonymous code block"
msgstr "bloque de código anónimo de PL/Python"

#: plpy_plpymodule.c:182 plpy_plpymodule.c:185
#, c-format
msgid "could not import \"plpy\" module"
msgstr "no se pudo importar el módulo «plpy»"

#: plpy_plpymodule.c:200
#, c-format
msgid "could not create the spiexceptions module"
msgstr "no se pudo crear el módulo spiexceptions"

#: plpy_plpymodule.c:208
#, c-format
msgid "could not add the spiexceptions module"
msgstr "no se pudo importar el módulo spiexceptions"

#: plpy_plpymodule.c:276
#, c-format
msgid "could not generate SPI exceptions"
msgstr "no se pudo generar excepciones SPI"

#: plpy_plpymodule.c:444
#, c-format
msgid "could not unpack arguments in plpy.elog"
msgstr "no se pudo desempaquetar los argumentos de plpy.elog"

#: plpy_plpymodule.c:453
msgid "could not parse error message in plpy.elog"
msgstr "no se pudo analizar el mensaje de error de plpy.elog"

#: plpy_plpymodule.c:470
#, c-format
msgid "argument 'message' given by name and position"
msgstr "el argumento 'message' fue pasado por nombre y posición"

#: plpy_plpymodule.c:497
#, c-format
msgid "'%s' is an invalid keyword argument for this function"
msgstr "«%s» no es un argumento válido para esta función"

#: plpy_plpymodule.c:508 plpy_plpymodule.c:514
#, c-format
msgid "invalid SQLSTATE code"
msgstr "código SQLSTATE no válido"

#: plpy_procedure.c:226
#, c-format
msgid "trigger functions can only be called as triggers"
msgstr "las funciones disparadoras sólo pueden ser llamadas como disparadores"

#: plpy_procedure.c:230
#, c-format
msgid "PL/Python functions cannot return type %s"
msgstr "las funciones PL/Python no pueden retornar el tipo %s"

#: plpy_procedure.c:308
#, c-format
msgid "PL/Python functions cannot accept type %s"
msgstr "la funciones PL/Python no pueden aceptar el tipo %s"

#: plpy_procedure.c:398
#, c-format
msgid "could not compile PL/Python function \"%s\""
msgstr "no se pudo compilar la función PL/Python «%s»"

#: plpy_procedure.c:401
#, c-format
msgid "could not compile anonymous PL/Python code block"
msgstr "no se pudo compilar el bloque anónimo PL/Python"

#: plpy_resultobject.c:117 plpy_resultobject.c:143 plpy_resultobject.c:169
#, c-format
msgid "command did not produce a result set"
msgstr "la orden no produjo un conjunto de resultados"

#: plpy_spi.c:56
#, c-format
msgid "second argument of plpy.prepare must be a sequence"
msgstr "el segundo argumento de plpy.prepare debe ser una secuencia"

#: plpy_spi.c:100
#, c-format
msgid "plpy.prepare: type name at ordinal position %d is not a string"
msgstr "plpy.prepare: el nombre de tipo en la posición %d no es una cadena"

#: plpy_spi.c:172
#, c-format
msgid "plpy.execute expected a query or a plan"
msgstr "plpy.execute espera una consulta o un plan"

#: plpy_spi.c:191
#, c-format
msgid "plpy.execute takes a sequence as its second argument"
msgstr "plpy.execute lleva una secuencia como segundo argumento"

#: plpy_spi.c:299
#, c-format
msgid "SPI_execute_plan failed: %s"
msgstr "falló SPI_execute_plan: %s"

#: plpy_spi.c:341
#, c-format
msgid "SPI_execute failed: %s"
msgstr "falló SPI_execute: %s"

#: plpy_subxactobject.c:92
#, c-format
msgid "this subtransaction has already been entered"
msgstr "ya se ha entrado en esta subtransacción"

#: plpy_subxactobject.c:98 plpy_subxactobject.c:156
#, c-format
msgid "this subtransaction has already been exited"
msgstr "ya se ha salido de esta subtransacción"

#: plpy_subxactobject.c:150
#, c-format
msgid "this subtransaction has not been entered"
msgstr "no se ha entrado en esta subtransacción"

#: plpy_subxactobject.c:162
#, c-format
msgid "there is no subtransaction to exit from"
msgstr "no hay una subtransacción de la cual salir"

#: plpy_typeio.c:587
#, c-format
msgid "could not import a module for Decimal constructor"
msgstr "no se pudo importar un módulo para el constructor Decimal"

#: plpy_typeio.c:591
#, c-format
msgid "no Decimal attribute in module"
msgstr "no se encontró atributo Decimal en el módulo"

#: plpy_typeio.c:597
#, c-format
msgid "conversion from numeric to Decimal failed"
msgstr "falló la conversión de numeric a Decimal"

#: plpy_typeio.c:911
#, c-format
msgid "could not create bytes representation of Python object"
msgstr "no se pudo crear la representación de cadena de bytes de Python"

#: plpy_typeio.c:1056
#, c-format
msgid "could not create string representation of Python object"
msgstr "no se pudo crear la representación de cadena de texto del objeto de Python"

#: plpy_typeio.c:1067
#, c-format
msgid "could not convert Python object into cstring: Python string representation appears to contain null bytes"
msgstr "no se pudo convertir el objeto Python a un cstring: la representación de cadena Python parece tener bytes nulos (\\0)"

#: plpy_typeio.c:1176
#, c-format
msgid "number of array dimensions exceeds the maximum allowed (%d)"
msgstr "el número de dimensiones del array excede el máximo permitido (%d)"

#: plpy_typeio.c:1180
#, c-format
msgid "could not determine sequence length for function return value"
msgstr "no se pudo determinar el largo de secuencia del retorno de valor de la función"

#: plpy_typeio.c:1183 plpy_typeio.c:1187
#, c-format
msgid "array size exceeds the maximum allowed"
msgstr "el tamaño del array excede el máximo permitido"

#: plpy_typeio.c:1213
#, c-format
msgid "return value of function with array return type is not a Python sequence"
msgstr "el valor de retorno de la función con tipo de retorno array no es una secuencia Python"

#: plpy_typeio.c:1259
#, c-format
msgid "wrong length of inner sequence: has length %d, but %d was expected"
msgstr "largo incorrecto de secuencia interna: tiene largo %d, pero se esperaba %d"

#: plpy_typeio.c:1261
#, c-format
msgid "To construct a multidimensional array, the inner sequences must all have the same length."
msgstr "Para construir un array multidimensional, las secuencias internas deben tener todas el mismo largo."

#: plpy_typeio.c:1340
#, c-format
msgid "malformed record literal: \"%s\""
msgstr "literal de record no es válido: «%s»"

#: plpy_typeio.c:1341
#, c-format
msgid "Missing left parenthesis."
msgstr "Falta paréntesis izquierdo."

#: plpy_typeio.c:1342 plpy_typeio.c:1543
#, c-format
msgid "To return a composite type in an array, return the composite type as a Python tuple, e.g., \"[('foo',)]\"."
msgstr "Para retornar un tipo compuesto en un array, retorne el tipo compuesto como una tupla de Python, e.g., «[('foo',)]»."

#: plpy_typeio.c:1389
#, c-format
msgid "key \"%s\" not found in mapping"
msgstr "la llave «%s» no fue encontrada en el mapa"

#: plpy_typeio.c:1390
#, c-format
msgid "To return null in a column, add the value None to the mapping with the key named after the column."
msgstr "Para retornar null en una columna, agregue el valor None al mapa, con llave llamada igual que la columna."

#: plpy_typeio.c:1443
#, c-format
msgid "length of returned sequence did not match number of columns in row"
msgstr "el tamaño de la secuencia retornada no concuerda con el número de columnas de la fila"

#: plpy_typeio.c:1541
#, c-format
msgid "attribute \"%s\" does not exist in Python object"
msgstr "el atributo «%s» no existe en el objeto Python"

#: plpy_typeio.c:1544
#, c-format
msgid "To return null in a column, let the returned object have an attribute named after column with value None."
msgstr "Para retornar null en una columna, haga que el objeto retornado tenga un atributo llamado igual que la columna, con valor None."

#: plpy_util.c:31
#, c-format
msgid "could not convert Python Unicode object to bytes"
msgstr "no se pudo convertir el objeto Unicode de Python a bytes"

#: plpy_util.c:37
#, c-format
msgid "could not extract bytes from encoded string"
msgstr "no se pudo extraer bytes desde la cadena codificada"
